<script>
    /**
     * 仿JSON内置API parse方法
     * @param {String} javaData JSON数据格式
     * @returns Object
     */
    function parse(javaData) {
        // let javaData = '{"uname":"元宇宙👁", "price": "18"}'
        let webObj = {}
        // 1.1 过滤字符串（注：去掉{、}、"、空格） uname:元宇宙👁,price:18
        javaData = javaData.replace(/{|}|"|\s/g, '')
        // 1.2 按,分割转数组       ['uname:元宇宙👁', 'price:18']
        let javaDataArr = javaData.split(',')
        // 1.3 遍历数组（注：item  'uname:元宇宙👁'
        javaDataArr.forEach(item => {
            // 1.3.1 按:分割转数组     ['uname', '元宇宙👁']
            let temp = item.split(':')
            // 1.3.2 数组的第一个值就是键，数组的第二个值就是值
            let key = temp[0]
            let val = temp[1]
            // 1.3.3 将数据放到空对象中
            // webObj.键 = 值
            // webObj.key = val  // 当对象得键是变量时，用数组语法
            webObj[key] = val
        })
        // console.log(webObj);
        return webObj
    }

    /**
     * 仿JSON内置API stringify方法
     * @param {Object} webObj JS标准普通对象
     * @returns String
     */
    function stringify(webObj) {
        // let webObj = {a:1,b:2,c:"你好"}
        let arr = []
        // 1 遍历对象
        for (let key in webObj) {
            // 2 遍历外面-定义空数组arr
            // 3 遍历里面-将  键拼接:拼接值 push到数组中
            // let temp = `"键":"值"`
            let temp = `"${key}":"${webObj[key]}"`
            // 4 遍历结束-将数组转字符串即可
            arr.push(temp)
        }
        // console.log(`{${arr.join(',')}}`);
        return `{${arr.join(',')}}`
    }
</script>